#include <bits/stdc++.h>

using namespace std;
const int N = 1e6 + 10;
string a, b;
int la, lb, lc;
int A[N], B[N], C[N];
bool cmp(string& a, string& b)
{
    if(a.size() != b.size()) return a.size() < b.size();

    return a < b;
}
void sub(int c[], int a[], int b[])
{
    for(int i = 0; i < lc; i++)
    {
        c[i] += a[i] - b[i];
        if(c[i] < 0)
        {
            c[i + 1] -= 1;
            c[i] += 10;
        }
    }
    while(lc > 1 && c[lc - 1] == 0) lc--;
}

int main()
{
    cin >> a >> b;
    
    if(cmp(a, b))
    {
        swap(a, b);
        cout << '-';
    }
    
    la = a.size(), lb = b.size(), lc = max(la, lb);
    
    for(int i = 0; i < la; i++) A[la - 1 - i] = a[i] - '0'; 
    for(int i = 0; i < lb; i++) B[lb - 1 - i] = b[i] - '0'; 

    sub(C, A, B);

    for(int i = lc - 1; i >= 0; i--)
        cout << C[i];
    return 0;
}
